home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 015a / dosm21.zip / STOPMAX.DOC < prev    next >
Text File  |  1993-06-01  |  14KB  |  332 lines

  1.  
  2. ================================================================================
  3.        STOPMAX.SYS :  Ver. 2.1, Copyright (1992,93) by Philip B. Gardner
  4. ================================================================================
  5.  
  6.   STOPMAX.SYS is a derivative of DOSMAX.EXE.  The algorithums of DOSMAX which
  7.   "stop" the DOS 5.0 and above kernel from loading into the HMA have been
  8.   assembled separately into STOPMAX.SYS.  This allows DOSMAX.EXE to load high
  9.   after the memory manager has installed and still put the DOS kernel into a
  10.   UMB.  STOPMAX is specifically for DOS 5.0 and above users and will not work
  11.   with DOS versions prior to DOS 5.0 and above.
  12.  
  13.   STOPMAX prevents DOS from loading into the HMA using one of the for methods
  14.   which are also part of DOSMAX.  The default method "/B," patches the DOS
  15.   5.0 and above initialization code.  This method and the "/V" (VDISK header
  16.   method), do not require any resident memory, so STOPMAX simply executes and
  17.   returns all memory to DOS.  DOSMAX should then be loaded as a DEVICE, after
  18.   the memory manager and there is no restriction as to when DOSMAX should be
  19.   installed.
  20.  
  21.   Support is provided for:
  22.  
  23.         * Stopping DOS from loading into the HMA
  24.  
  25. ================================================================================
  26.  
  27. (Requirements)::
  28.  
  29.         * Requires MS-DOS Version 5.00 or above
  30.  
  31. ================================================================================
  32.  
  33. (Installation)::
  34.  
  35.         (CONFIG.SYS)::
  36.  
  37.         Installation of STOPMAX.SYS requires modifying the contents of
  38.         your CONFIG.SYS file.
  39.  
  40. (Generic Configuration)::
  41.  
  42.         This configuration should work and be the most efficient in 95%
  43.         of all configurations.  For a few real world examples see
  44.         EXAMPLES.DOC
  45.  
  46.         DOS=HIGH[,UMB]                    (DOS 5.0 and above only)
  47.         DEVICE=STOPMAX.SYS [options]      (Stops kernel from loading in HMA)
  48.         DEVICE=(xms/umb memory manager)
  49.         DEVICE=DOSMAX.EXE [options]       (DOSMAX loads high automatically)
  50.         SHELL=SHELLMAX.COM COMMAND.COM /P
  51.         BUFFERS=20
  52.         FILES=40
  53.         LASTDRIVE=Z
  54.  
  55.         DOS 5.0 and above users should configure DOS to load high into
  56.         the HMA.  The UMB parameter is optional, since both DOS 5.0 and
  57.         above upper memory management and XMS upper memory blocks are
  58.         supported by DOSMAX.
  59.  
  60.         DOS=HIGH[,[UMB][NOUMB]] (Both DOS UMB's and XMS UMB's supported)
  61.  
  62.         Add a DEVICE= line for STOPMAX.SYS in your config.sys.  STOPMAX
  63.         must be loaded before the XMS and UMB memory manager, but some
  64.         memory managers provide high memory but not an HMA.  If your
  65.         memory manager does not support an HMA, then STOPMAX is not
  66.         necessary.  DOSMAX is then loaded "after" the memory manager
  67.  
  68.         HIMEM.SYS from Microsoft always puts the DOS 5.0 and above kernel
  69.         into the HMA before it is through initializing and then puts its
  70.         own code into the HMA.  If you are able to load HIMEM.SYS high
  71.         (using some upper memory providers, not EMM386.SYS), you can now
  72.         use the /I+ switch to stop HIMEM from loading DOS into the HMA,
  73.         and STOPMAX will put it into a UMB instead.  The /B+ option (default)
  74.         also stops HIMEM.SYS from putting the DOS kernel into the HMA.  If
  75.         you use only DOS 5.0 and above files, meaning HIMEM.SYS and EMM386.SYS
  76.         you should not use STOPMAX.
  77.  
  78.         DEVICE=STOPMAX.SYS [options]
  79.         DEVICE=(Memory Manager)
  80.         ......
  81.         DEVICE=DOSMAX.EXE [options]
  82.  
  83.         By default, STOPMAX.SYS will generate a message for each successful
  84.         operation or event.  The display then pauses to allow you to
  85.         read the report.  After you are satisfied with the configuration
  86.         and you want to disable the REPORT and PAUSE feature, use:
  87.  
  88.         DEVICE=STOPMAX.SYS /R- /P- 
  89.  
  90.         All switch options and possible messages for STOPMAX are detailed
  91.         below:
  92.  
  93. ================================================================================
  94.  
  95. (Syntax)::
  96.  
  97.         The only thing to remember about syntax for the command line is
  98.         that just about anything works.  What this means is that you
  99.         should be able to type in the options on the command line the
  100.         way they make sense to you.
  101.  
  102.         To illustrate this point, the following command line example
  103.         is mutated several different ways.
  104.  
  105.         DEVICE=STOPMAX.SYS /R- /P- /B+
  106.         DEVICE=STOPMAX.SYS -R- -P- -B+
  107.         DEVICE=STOPMAX.SYS R- P- B+
  108.         DEVICE=STOPMAX.SYS R-P-B
  109.         DEVICE=STOPMAX.SYS -R-P-B
  110.  
  111.         ... and so on.
  112.  
  113.         STOPMAX 1.9 and above adds optional full word syntax.  The new
  114.         syntax looks like this:
  115.  
  116.         DEVICE=STOPMAX.SYS /REPORT:- /PAUSE:- /IOPATCH:+
  117.         DEVICE=STOPMAX.SYS -REPORT:- -PAUSE:- -IOPATCH:+
  118.         DEVICE=STOPMAX.SYS REPORT:- PAUSE:- IOPATCH:+
  119.         DEVICE=STOPMAX.SYS REPORT-PAUSE-IOPATCH:+
  120.         DEVICE=STOPMAX.SYS -REPORT-PAUSE-IOPATCH:+
  121.  
  122.         Obviously when using full words, it is easier to keep the words
  123.         separated so that is clear to read.  The optional [:] is used
  124.         for toggle switches (i.e. REPORT:+).  These optional delimiters
  125.         can also be used with the single letter switches.  Exact spelling
  126.         is required because the single letter interface is still intact.
  127.  
  128. (Switch Options)::
  129.  
  130.         The following list of switch options is organized by:
  131.  
  132.           - Control of STOPMAX Reports (/R:/P:/N:)
  133.           - Control the Location of the DOS Kernel (/B:/V:/I:)
  134.  
  135.     (Control of STOPMAX Reports)::
  136.  
  137.         (REPORT)::      R[+ or -]        (toggle:  default +)
  138.  
  139.         Use /R- or /REPORT:- to disable the report after you are
  140.         satisfied with the configuration of STOPMAX.SYS
  141.  
  142.         (PAUSE)::       P[+ or -]        (toggle:  default +)
  143.  
  144.         Use /P- or /PAUSE:- to disable the pause after the report as
  145.         long as there are no errors or warnings.
  146.  
  147.         (NOPAUSE)::     N[+ or -]        (toggle:  default -)
  148.  
  149.         Use /N+ or /NOPAUSE:+ to never pause after the report, even if
  150.         there are errors.  This switch can be used if your configuration
  151.         generates a warning or error message which you choose to ignore.
  152.  
  153.     (Control the Location of the DOS Kernel)::
  154.  
  155.         (IOPATCH)::     B[+ or -]        (toggle:  default -)
  156.  
  157.         Use /B+ or /IOPATCH:+ to stop DOS from loading in the HMA using
  158.         a method which patches the copy of DOS 5.0 initialization code in
  159.         memory when STOPMAX initializes.  This method will search and
  160.         "patch out" the DOS to HMA code.  This option was developed and
  161.         tested under MSDOS 5.0 and 6.0 and is not guaranteed to work with
  162.         DOS versions later than 6.0, but then many of the algorithums in
  163.         STOPMAX depend upon "undocumented" features of DOS which are always
  164.         subject to change anyway.  The advantage of this method is that it
  165.         works no matter which memory manager is used or how it is configured.
  166.  
  167.         (VDISK)::       V[+ or -]        (toggle:  default -)
  168.  
  169.         Use /V+ or /VDISK:+ to enable an alternate method of stopping
  170.         DOS from allocating the HMA.  This switch is only necessary
  171.         if STOPMAX reports that the DOS version is incompatible, and
  172.         it will only work with memory managers which can detect a
  173.         VDISK Header in the HMA when the memory manager initializes
  174.         and mark's it as allocated.
  175.  
  176.         (STOPHIMEM)::   I[+ or -]        (toggle:  default -)
  177.  
  178.         Use /I+ or /STOPHIMEM:+ to stop HIMEM.SYS from loading DOS HIGH.
  179.         This switch is intended for users who load HIMEM.SYS from
  180.         Microsoft high after their UMB provider.  This option is not
  181.         very useful if HIMEM.SYS is not loaded high because HIMEM will
  182.         grow to about 30k in size.  If you still want to inhibit HIMEM,
  183.         then load it last, to minimize the "growth."  The reason HIMEM
  184.         "grows" is because the code which normally goes to the HMA is
  185.         fixed at offset 0A000, so if HIMEM is loaded below 0A00h, the
  186.         size of HIMEM grows to 0A00h + the size of the HMA code + the
  187.         size of the XMS handle table.  This option affects the size of
  188.         STOPMAX and adds 32 bytes.
  189.  
  190.         *  everything in square brackets "[]" is optional
  191.  
  192. (CONFIG.SYS Line)::
  193.  
  194.         DEVICE=STOPMAX.SYS [/-][R-P+I+N+V+B-]
  195.  
  196.         device default:  /R+/P-/N-/B+/I-/V-
  197.  
  198.         *  Report status messages
  199.         *  Don't Pause after report
  200.         *  Pause on errors or warnings
  201.  
  202. ================================================================================
  203.  
  204. (Report Format)::
  205.  
  206.         STOPMAX.SYS :  Ver. 2.1, Copyright (1992,93) by Philip B. Gardner
  207.              ERROR :  (Error Messages)
  208.            WARNING :  (Warning Messages)
  209.             ADVICE :  (Advisory Messages)
  210.                    :  (Report Messages)
  211.                    :  (Allocation Status)
  212.              PAUSE :  Press any key to continue... 
  213.  
  214. (Report Note)::
  215.  
  216.         STOPMAX.SYS may be replaced by STOPMAX.OVL.  The exact name of the
  217.         module is dependent upon the circumstances under which STOPMAX.SYS
  218.         reports.  This detail is important only as diagnostic information.
  219.         
  220. ================================================================================
  221.  
  222. (Error Messages)::
  223.  
  224.         MS-DOS version 5.00 or above is required
  225.         An 80186 processor or better is required
  226.         Can't load in High Memory
  227.         DOS version is not compatible
  228.         Not necessary for versions below DOS 5.0
  229.         DOS is HIGH already
  230.         Include DOS=HIGH in CONFIG.SYS
  231.         Couldn't write VDISK Header
  232.         Stop DOS to HMA patch not successful
  233.  
  234. ================================================================================
  235.  
  236. (Warning Messages)::
  237.  
  238.         Unknown option in command line
  239.         Unknown option on line #0000
  240.         Extra characters on command line
  241.         Missing or invalid option file XXXXXXXX.XXX
  242.         Line length overflow at line #0000
  243.  
  244. ================================================================================
  245.  
  246. (Advisory Messages)::
  247.  
  248.         Should be the first DEVICE= in CONFIG.SYS
  249.         Try using /V+ switch
  250.         Try using /B+ switch
  251.  
  252. ================================================================================
  253.  
  254. (Report Messages)::
  255.  
  256.         Processing option file XXXXXXXX.XXX
  257.     Effection section is [XXXXXXXX]
  258.  
  259. ================================================================================
  260.  
  261. (Allocation Status)::
  262.  
  263. ================================================================================
  264.  
  265. (Changes)::
  266.  
  267.     (Version 1.6)::
  268.  
  269.     (1) Added check for a 186 processor or better (allows V20/V30).
  270.  
  271.     (2) Removed the check for an XMS manager and a check for extended
  272.         memory.  This allows machines without extended memory to use
  273.         UMB providers, which do not require extended memory, with STOPMAX.
  274.         These checks were redundant since if DOS is in the HMA when
  275.         STOPMAX loads, the message "DOS is HIGH already" is reported.
  276.  
  277.     (3) Added /I option which inhibits HIMEM.SYS from loading DOS HIGH.
  278.         This switch is not very useful if HIMEM.SYS is not loaded high,
  279.         since HIMEM will be about 30k in size.  This switch is intended
  280.         for users who load HIMEM high after their UMB provider is installed.
  281.  
  282.     (4) Now supporting separate program STOPM86.SYS.  This program is 
  283.         functionally identical to STOPMAX.SYS, but is compiled to work
  284.         on 8086/8088 processors also.  I have learned that there are
  285.         8086/8088 machines which can be configured with High Memory
  286.         using some High Memory Managers, and this variation will make
  287.         it possible for those users to put DOS in a UMB even though
  288.         there is no HMA.  STOPM86.SYS requires 32 more bytes of memory.
  289.  
  290.    (5)  Added /B+ option which will stop DOS from going to the HMA by
  291.         patching the DOS initilization code in memory.  This method
  292.         works no matter which memory manager is in use or how it is
  293.         configured.  It also requires no resident memory.  I made this
  294.         the default method for STOPMAX.
  295.  
  296.    (Version 1.7)::
  297.  
  298.    (1)  Changed common parsing algorithum to support Hex-Notation input.
  299.         This input method is not used in STOPMAX at this time.
  300.  
  301.    (Version 1.8)::
  302.  
  303.    (1)  Changes in STOPMAX common code for specific 386MAX support.
  304.  
  305.     (Version 1.9)::
  306.  
  307.     (1)  Reorganized code to enable an overlay method of module selection
  308.          to automate processor selection and split up .SYS and .EXE modules
  309.          to reduce the initialization memory to minimum.
  310.  
  311.     (2)  STOPMAX now automatically detects the processor type and chooses
  312.          separate code modules if appropriate.  The 186 processor require-
  313.          ment of previous versions is no longer applicable.
  314.  
  315.     (3)  Added optional full word syntax to argument parser.  The old style
  316.          single letter switch interface is still intact.  The switch lists
  317.          now show the optional word with the switch.
  318.  
  319.     (4)  STOPMAX updated for DOS 6.0.  Corrected a coding error while moving
  320.          buffers.
  321.  
  322.     (Version 2.0)::
  323.  
  324.     (1)  Added response file input with @filename.opt syntax
  325.  
  326.     (Version 2.1)::
  327.  
  328.     (1)  Fixed problem with finding DOS 6.0 CONFIG variable for machines
  329.          whose bios'es don't intialize memory properly.
  330.  
  331. ================================================================================
  332.